package busca;

public class BuscaProfundidadeIterativa extends BuscaProfundidade{

	protected boolean parar = false;

	public BuscaProfundidadeIterativa() {

	}

	public BuscaProfundidadeIterativa(int m) {
		super(m);
	}

	public No busca(Estado inicial) {
		int prof = 0;
		startTime = System.currentTimeMillis();
		initFechados();
		while (!parar) {
			//Profundidade maxima atual
			setProfMax(prof++); 
			No n = super.busca(inicial); 
			if (n != null) {
				endTime = System.currentTimeMillis();
				return n;
			}
			if((System.currentTimeMillis() - startTime) > 5000){
				return null;
			}
		}
		return null;
	}    

}
